package com.sh.data.engine.domain.integration.online.model.param;

import lombok.Data;

import java.util.Date;
import java.util.List;
import java.util.Properties;

// TODO 使用clinet中的param
@Data
public class OnlineTaskParam {
    /**
     * mq种类
     */
    private String type;

    private Long taskId;

    private String taskIdMD5;

    private Long recordId;

    private String hosts;

    private String topic;

    private String db;

    private String table;

    private List<String> allColumn;

    private List<String> partitionColumn;

    private List<String> partitionValue;

    private List<String> tagColumn;

    private List<String> allColumnType;

    private List<String> fromColumn;

    private List<String> toColumn;

    private String keyTabPath;

    private String krb5Conf;

    private String hiveMetastoreUris;

    private String hdfsUrl;

    private String nameServices;

    private String nameNodesAddrs;

    private String nameNodes;

    private String taskName;

    private Date offsetTime;

    private Properties properties;

    private int jmxPort;

    // 目标数据源类型:kafka/mqtt  mysql/pg  hive
    private String targetType;

    // 目标为mysql/pg
    private String jdbcUrl;

    // js脚本解析json
    private String jsContent;

    // 是否使用js解析 0-否 1-是
    private Integer useJsFlag;

    // jsonPath exp
    private List<String> jsonPathExp;

    // pg schema
    private String schema;

    // jdbc 用户名
    private String username;

    // jdbc 密码
    private String password;

    // 目标数据源为 kafka/mqtt 时使用
    private String targetTopic;

    // 目标数据源为 kafka/mqtt 时使用
    private String targetHosts;

    // hive-site路径
    private String hiveSitePath;

    private String targetServer;

    private Integer targetPort;

    private String realTimePointMappingCsvFile;
}
